package org.onepiece.admin.common.mianshi;

/**
 * Created by IntelliJ IDEA.
 *
 * @author zhujianke@gaodun.com
 * @since 2023/4/14 13:18
 */
public class BubbleSort {

    public static void main(String[] args) {
        int[] array = new int[]{10, 7, 4, -1, 23, 34, 20, 12};
        bubbleSort(array);
        for (int i : array) {
            System.out.println(i);
        }
    }

    public static void bubbleSort(int[] arr) {
        int temp = 0;
        boolean swap;
        for (int i = arr.length - 1; i > 0; i--) { // 每次需要排序的长度
            // 增加一个swap的标志，当前一轮没有进行交换时，说明数组已经有序
            swap = false;
            for (int j = 0; j < i; j++) { // 从第一个元素到第i个元素
                if (arr[j] > arr[j + 1]) {
                    temp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = temp;
                    swap = true;
                }
            }
            if (!swap) {
                break;
            }
        }
    }
}
